﻿using System;
using System.Data;

namespace AuctionSite.Entities
{
    public class Usuario : IEntity<Usuario>
    {
        #region Propriedades

        public int Id { get; set; }
        public string Nome { get; set; }
        public string Apelido { get; set; }
        public string Telefone { get; set; }
        public string Celular { get; set; }
        public string Endereco { get; set; }
        public string CPF { get; set; }
        public string Email { get; set; }
        public string Senha { get; set; }
        public bool Ativo { get; set; }
        public DateTime DataCadastro { get; set; }
        public string TipoUsuario { get; set; }

        #endregion

        public Usuario Load(DataRow row)
        {
            if (row != null)
            {
                if (!string.IsNullOrEmpty(row["usu_id"].ToString()))
                {
                    this.Id = Convert.ToInt16(row["usu_id"]);
                    this.Nome = row["usu_nome"].ToString();
                    this.Apelido = row["usu_apelido"].ToString();
                    this.Telefone = row["usu_tel"].ToString();
                    this.Celular = row["usu_cel"].ToString();
                    this.Endereco = row["usu_endereco"].ToString();
                    this.CPF = row["usu_cpf"].ToString();
                    this.Email = row["usu_email"].ToString();
                    this.Senha = row["usu_senha"].ToString();
                    this.Ativo = !string.IsNullOrEmpty(row["usu_ativo"].ToString()) && row["usu_ativo"].ToString().ToUpper() == "T";
                    this.DataCadastro = string.IsNullOrEmpty(row["usu_data_cadastro"].ToString()) ? DateTime.MinValue : Convert.ToDateTime(row["usu_data_cadastro"]);
                    this.TipoUsuario = row["usu_tipo"].ToString();
                }   
            }

            return this;
        }
    }
}